package com.dyz.leetcode._20_dynamicProgramming._300;

import java.util.Arrays;

public class _300_lengthOfLIS01 {
    //子数组
    public int lengthOfLIS(int[] nums) {
        if(nums==null||nums.length==0){
            return 0;
        }
        // 状态：dp[i] 表示以 nums[i] 结尾时最长递增子序列的长度
        int[] dp = new int[nums.length];

        // 状态初始化：单个元素最少有一个递增子序列元素
        Arrays.fill(dp, 1);
        int maxLen = 1;
        for (int i = 1; i < nums.length ; i++) {
            if(nums[i]>nums[i-1]){
                dp[i] = dp[i-1]+1;
                maxLen = Math.max(maxLen, dp[i]);
            }
        }
        return maxLen;
    }
}
